In the computer software marketing and distribution industry, it is advantageous to make software available for use which reflects the language and culture of the intended users. A locale file is typically made available by a developer of a software application to assist in accomplishing this. A locale file includes a combination of specifications or settings required to configure a software application program for a particular geographic and cultural market. These specifications typically include a language specification intended to be used to control and determine linguistic manipulation of character strings within the application program. In addition specifications for countries, regions and territories (collectively referred to herein as “country”) define cultural conventions that vary with languages, cultures or across countries. An example of a cultural convention is a date format identifying in which order the numerals representing day, month and year appear. Other configuration preferences, such as those used to specify mail settings or favorite icons are known in the art, but are typically not included in locale files. Ensuring accurate computer application program processing of information according to local cultural and geographical preferences relies on correct specifications provided in a locale file for a given language and country. In order to ensure the accuracy of specifications which are to be referenced by program applications, it is desirable to have validation performed on the individual localization specifications incorporated in a locale file. Accuracy is expected by users when an application program uses the content of a locale file for formatting data for presentation to users.
Current practice includes the conversion of a locale source file containing the localization specifications, by a utility program (such as localedef as defined in standard ISO/IEC 9945-1:1900 (Institute of Electrical and Electronics Engineers (IEEE) Standard 1003.2-1990) Information Technology-Portable Operating System Interface (POSIX™) Shell Utilities, IEEE Standards 1003.2 and 1003.2a) and suitable compiler (such as one for the C programming language) from an editable text file form into a locale file object form referred to herein as “locale object”, for use by application programs. If the formatted output of the application program resulting from using the locale object, is subsequently found to be not correct, there is typically a problem with the locale object and its associated locale source file information. The locale source file must be corrected with appropriate required changes, recompiled and validated again. Visual inspection of the results of the output of the application program resulting from using the locale object may be used or the results may be programmatically compared with reference values if known. It will be appreciated that this iterative process can require a significant amount of time and effort to obtain the desired results.
The current practice of updating the locale source file, recompiling and re-testing has been found to be error prone. Changes to the locale source file may often introduce new errors, not related to language or culture, into the compilation stage.
The validation process often involves the use of a different environment than where the locale object is intended to be used, for example, performing the validation on a workstation platform for a locale object intended to be used on a mainframe. In such cases, the locale object and related programming interfaces of the mainframe platform cannot be used directly during validation on the workstation platform.